﻿#define _CRT_SECURE_NO_WARNINGS 1
//void Swap2(int* pa, int* pb)
//{
//	int tmp = *pa;//tmp = a;
//	*pa = *pb;    //a=b
//	*pb = tmp;    //b=tmp
//}
//
//int main()
//{
//	int a = 0;
//	int b = 0;
//	//输入
//	scanf("%d %d", &a, &b);//3 5 
//	//交换
//	printf("交换前：a=%d b=%d\n", a, b);
//	Swap2(&a, &b);
//	//输出
//	printf("交换后：a=%d b=%d\n", a, b);
//
//	return 0;
//}
//
#include<math.h>


//求100~200之间的素数

//是素数返回1
//不是素数返回0
//int is_prime(int n)
//{
//	int j = 0;
//	for (j = 2; j <= sqrt(n); j++)
//	{
//		if (n % j == 0)
//		{
//			return 0;//不是素数
//		}
//	}
//	return 1;//是素数
//}
//int main()
//{
//	int i = 0;
//	for (i = 100; i <= 200; i++)
//	{
//		//判断i是否为素数
//		if (is_prime(i))
//		{
//			printf("%d ", i);
//		}
//	}
//
//	return 0;
//}

//
//写一个函数判断一年是不是闰年。
//1. 能被4整除，并且不能被100整除是闰年
//2. 能被400整除是闰年
//

//int is_leap_year(int y)
//{
//	if (y % 4 == 0 && y % 100 != 0)
//	{
//		return 1;
//	}
//	if (y % 400 == 0)
//	{
//		return 1;
//	}
//
//	return 0;
//}

//int is_leap_year(int y)
//{
//	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
//		return 1;
//	else
//		return 0;
//}
//
//int is_leap_year(int y)
//{
//	return (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0));
//}
//
//int main()
//{
//	int y = 0;
//	for (y = 1000; y <= 2000; y+=4)
//	{
//		//判断y是否为闰年
//		//是闰年返回1
//		//不是闰年返回0
//		if (is_leap_year(y))
//		{
//			printf("%d ", y);
//		}
//	}
//	return 0;
//}
//


#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//写一个函数，实现一个整形有序数组的二分查找
//int binary_search(int arr[], int k, int sz)
//{
//	int left = 0;
//	int right = sz - 1;
//
//	while (left<=right)
//	{
//		int mid = (left + right) / 2;
//		if (arr[mid] < k)
//		{
//			left = mid + 1;
//		}
//		else if (arr[mid] > k)
//		{
//			right = mid - 1;
//		}
//		else
//		{
//			return mid;
//		}
//	}
//	return -1;//找不到
//}
//
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,17,18,19,20,21 };//10
//	//0~9
//	int k = 21;
//	//找到了就返回下标
//	//找不到返回-1
//	//计算数组的元素个数
//	// 
//	//printf("%d\n", sizeof(arr));//40,这里计算整个数组的大小，单位是字节
//	//printf("%d\n", sizeof(arr[0]));//4，这里计算数组第一个元素的大小，单位是字节
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int pos = binary_search(arr, k, sz);
//	if (-1 == pos)
//		printf("找不到\n");
//	else
//		printf("找到了，下标是:%d\n", pos);
//
//	return 0;
//}
//

//void Add(int* p)
//{
//	//*p = *p+1;
//	(*p)++;
//}
//
//int main()
//{
//	int num = 0;
//	Add(&num);
//	printf("%d\n", num);//1
//	Add(&num);
//	printf("%d\n", num);//2
//	Add(&num);
//	printf("%d\n", num);//3
//	return 0;
//}

//int Add(int n)
//{
//	return n + 1;
//}
//
//int main()
//{
//	int num = 0;
//	num = Add(num);
//	printf("%d\n", num);
//
//	num = Add(num);
//	printf("%d\n", num);
//
//	num = Add(num);
//	printf("%d\n", num);
//
//	return 0;
//}

//函数的返回类型不写的时候，默认是返回的是int类型
//int test(void)
//{
//	printf("hehe\n");
//}
//
//int main()
//{
//	int ret = test();
//	printf("%d\n", ret);
//
//	return 0;
//}

//int Add(int x, int y)
//{
//	return x + y;
//}
//
//int main()
//{
//	Add(2, 3);
//	return 0;
//}

//链式访问
//#include <string.h>
//
//int main()
//{
//	//int len = strlen("abcdef");
//	printf("%d\n", strlen("abcdef"));
//
//	return 0;
//}

//int main()
//{
//	printf("%d", printf("%d", printf("%d", 43)));
//
//	return 0;
//}
//


//函数的声明
//int Add(int x, int y);
//
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	//求和
//	int ret = Add(a, b);
//	printf("%d\n", ret);
//
//	return 0;
//}
//
//
////函数的定义
////函数的定义也是一种特殊的声明
//int Add(int x, int y)
//{
//	return x + y;
//}
//
//
//#include "add.h"
//
////导入静态库
//#pragma comment(lib, "add.lib")
//
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	//求和
//	int ret = Add(a, b);
//	printf("%d\n", ret);
//
//	return 0;
//}

//变量的声明
//int g_val;
//
//int main()
//{
//	printf("g_val = %d\n", g_val);
//
//	return 0;
//}
//
////变量的定义
//int g_val = 2022;


//int g_val;
//
//int main()
//{
//	printf("g_val = %d\n", g_val);
//
//	return 0;
//}
//
////变量的定义
//int g_val = 2022;

//定义
//int val;
//全局变量不初始化的时候，默认是0
//int main()
//{
//	printf("%d\n", val);
//	return 0;
//}
//

//int main()
//{
//	printf("hehe\n");
//	main();
//
//	return 0;
//}

//void Print(unsigned int n)
//{
//	while (n)
//	{
//		printf("%d ", n % 10);
//		n = n / 10;
//	}
//}

//void Print(unsigned int n)
//{
//	if (n > 9)
//	{
//		Print(n/10);
//	}
//	printf("%d ", n % 10);
//}
//
//int main()
//{
//	unsigned int num = 0;
//	scanf("%u", &num);
//	//写一个函数打印num的每一位
//	Print(num);
//	return 0;
//}

//
//整型指针+1,向后跳1个整型，就是4个字节
//

#include <string.h>
//模拟实现strlen
//
//int my_strlen(char* str)
//{
//	int count = 0;
//	while (*str != '\0')
//	{
//		count++;
//		str++;//字符指针+1，向后跳1个字符
//	}
//	return count;
//}

//int my_strlen(char* str)
//{
//	if (*str != '\0')
//		return 1 + my_strlen(str + 1);
//	else
//		return 0;
//}
//
//int main()
//{
//	char arr[] = "bit";
//	//[b i t \0]
//	//数组名其实是数组首元素的地址
//	//
//	int len = my_strlen(arr);
//	printf("%d\n", len);
//
//	return 0;
//}

//#pragma once

//şŻĘýľÄÉůĂ÷
//int Add(int x, int y);

//int Add(int, int);

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//写一个函数求n的阶乘
//
//int Fac(int n)
//{
//	if (n <= 1)
//		return 1;
//	else
//		return n * Fac(n - 1);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	
//	int ret = Fac(n);
//	
//	printf("%d\n", ret);
//
//	return 0;
//}

//int Add(int x, int y)
//{
//	return x + y;
//}
//
//void test()
//{
//	int a = 10;
//	int b = 20;
//	int c = Add(a, b);
//	printf("%d\n", c);
//}
//
//int main()
//{
//	test();
//	return 0;
//}
//5! = 1*2*3*4*5
//

//int Fac(int n)
//{
//	int i = 0;
//	int ret = 1;
//	for (i = 1; i <= n; i++)
//	{
//		ret *= i;
//	}
//	return ret;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fac(n);
//	printf("%d\n", ret);
//	return 0;
//}
//

//
//求第n个斐波那契数
//1 1 2 3 5 8 13 21 34 55 ...
//
//int count = 0;
//
//int Fib(int n)
//{
//	if (n == 3)//统计第3个斐波那契数被计算的次数
//		count++;
//
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}

////1 1 2 3 5 8 13 21 34 
//
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (n>2)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//	}
//	return c;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	//写一个函数求第n个斐波那契数
//	int ret = Fib(n);
//	printf("%d\n", ret);
//
//	return 0;
//}
//


//#include <stdio.h>
//int main()
//{
//	int a = 0, b = 0;
//	for (a = 1, b = 1; a <= 100; a++)
//	{
//		if (b >= 20) break;
//		if (b % 3 == 1)
//		{
//			b = b + 3;
//			continue;
//		}
//		b = b - 5;
//	}
//	printf("%d\n", a);
//	return 0;
//}
//
//

//在屏幕上输出9*9乘法口诀表
//1*1=1
//2*1=2 2*2=4
//3*1=3 3*2=6 3*3=9
//4*1=4 4*2=8 4*3=12 4*4=16
//...


//int main()
//{
//	int i = 0;
//	int line = 0;
//	scanf("%d", &line);
//	for (i = 1; i <= line; i++)
//	{
//		//打印一行
//		int j = 0;
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%-2d ", i, j, i * j);
//		}
//		printf("\n");
//	}
//
//	return 0;
//}
//

//求10 个整数中最大值
//
//int main()
//{
//	int arr[10] = {0};
//	//输入
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//
//	int max = arr[0];
//
//	for (i = 1; i < sz; i++)
//	{
//		if (arr[i] > max)
//		{
//			max = arr[i];
//		}
//	}
//	printf("%d\n", max);
//
//	return 0;
//}
//


//计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值，打印出结果

//int main()
//{
//	int i = 0;
//	double sum = 0.0;
//	int flag = 1;
//	for (i = 1; i <= 100; i++)
//	{
//		sum  = sum + flag*(1.0 / i);
//		flag = -flag;
//	}
//	printf("%lf\n", sum);
//
//	return 0;
//}

//int main()
//{
//	int i = 0;
//	double sum = 0.0;
//	int flag = 1;
//	for (i = 1; i <= 100; i++)
//	{
//		if(i%2==1)
//			sum = sum +  (1.0 / i);
//		else
//			sum = sum - (1.0 / i);
//	}
//	printf("%lf\n", sum);
//
//	return 0;
//}
//


//编写程序数一下 1到 100 的所有整数中出现多少个数字9

//int main()
//{
//	int i = 0;
//	int count = 0;
//	//1 2 3 4 5 6 . 98 99 100
//	//9 19 29 39 49 59 69 79 89 99
//	//90 91 92 93 ........   98 99 
//
//	for (i = 1; i <= 100; i++)
//	{
//		if (i % 10 == 9)
//			count++;
//		if (i / 10 == 9)
//			count++;
//	}
//	printf("%d\n", count);
//
//	return 0;
//}
//


#include <stdio.h>
/*
int main() {
	long long n = 0;
	scanf("%lld", &n);
	int i = 0;
	long long sum = 0;
	for(i=1; i<=n; i++)
	{
		sum += i;
	}
	printf("%lld\n", sum);

	return 0;
}

*/


//int main()
//{
//    long long n = 0;
//    scanf("%lld", &n);
//    int i = 0;
//    long long sum = 0;
//    sum = (1 + n) * n / 2;
//    printf("%lld\n", sum);
//
//    return 0;
//}

//#include <stdio.h>
//
//int main() {
//    int n = 0;
//    scanf("%d", &n);
//    printf("%d\n", (n / 12) * 4 + 2);
//
//    return 0;
//}
//

//int test()
//{
//    return 3;
//    return 4;
//}

//void test(int arr[])
//{
//    arr[0] = 3;
//    arr[1] = 4;
//}
//int main()
//{
//    int arr[2] = { 0 }; 
//    printf("%d %d\n", arr[0], arr[1]);
//    test(arr);
//    printf("%d %d\n", arr[0], arr[1]);
//
//    return 0;
//}

//int x = 0;
//int y = 0;
//
//void test()
//{
//    x = 3;
//    y = 4;
//}
//
//int main()
//{
//    test();
//    printf("%d %d\n", x, y);
//
//    return 0;
//}
//
//

//int b;
//int main()
//{
//    static int a;
//    printf("%d %d\n", a, b);
//    return 0;
//}


//void print_table(int line)
//{
//	int i = 0;
//	for (i = 1; i <= line; i++)
//	{
//		//打印一行
//		int j = 0;
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%-2d ", i, j, i * j);
//		}
//		printf("\n");
//	}
//}
//
//int main()
//{
//	int line = 0;
//	scanf("%d", &line);
//	print_table(line);
//
//
//	return 0;
//}
